Method and system for imaging an object or pattern

ABSTRACT

A system and method for simultaneously obtaining a plurality of images of an object or pattern from a plurality of different viewpoints is provided. In an exemplary embodiment, proper image contrast is obtained by replacing the light sources of earlier systems with equivalent light sensitive devices and replacing the cameras of earlier systems with equivalent light sources. With such a system, bright-field images and dark-field images may be simultaneously obtained. In one aspect of the invention, a light source is positioned to illuminate at least a portion of an object. A plurality of light guides having input ends are positioned to simultaneously receive light reflected from the object and transmit the received light to a plurality of photodetectors. The light guides are arranged such that their respective input ends are spaced substantially equally along at least a portion of a surface of an imaginary hemisphere surrounding the object. The signals generated by the photodetectors (as a result of light detection) are processed and a plurality of images of the object are formed. Another aspect of the invention provides a method for generating composite images from simultaneously obtained images. Equivalent regions of each image (corresponding to geographically identical subpictures) are compared. The subpicture having the highest entropy is selected and stored. This process continues until all subpictures have been considered. A new composite picture is generated by pasting together the selected subpictures. In another aspect of the invention, the vector of relative light values gathered for each pixel or region of an object illuminated or scanned (i.e., one value for each photodetector) is used to determine reflectance properties of points or regions illuminated on the object or pattern. The reflectance properties may be stored in a matrix and the matrix used to read, for example, a Bar Code of a data matrix symbol.

FIELD OF THE INVENTION

[0001] The present invention is directed to a system and method for imaging objects or patterns. More particularly, the present invention is directed to a system and method for simultaneously obtaining a plurality of images of an object or pattern from a plurality of different viewpoints.

COPYRIGHT NOTICE

[0002] A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or patent disclosure as it appears in the Patent and Trademark Office, patent file or records, but otherwise reserves all copyright rights whatsoever.

BACKGROUND OF THE INVENTION

[0003] Machine vision systems are commonly used in industry for high speed inspections. In particular, these systems are used to obtain digital images of objects in order to determine, with a computer, whether the object is of “acceptable” quality with respect to predetermined specifications. For example, a system may inspect a semiconductor chip package to determine whether each of the leads of the package have the proper dimensions. A system may also inspect for coplanarity of solder balls on ball grid arrays.

[0004] Patterns such as bar codes and data codes are also imaged by such systems. Images of these patterns are analyzed by a computer and in order to “read” the information represented by these codes.

[0005] In a machine vision system, an object (or pattern) is typically imaged by illuminating the object with light sources and capturing the light reflected from the object with a video camera (i.e., a photodetector). A digital image is formed from the image received by the camera and the digital data is analyzed by a computer in order to determine characteristics of the object or pattern.

[0006] Obtaining a proper contrast between the object or pattern and the background is critical to obtaining an image of sufficient clarity for accurate analysis by a computer. In current practice, an engineer or knowledgeable user obtains the proper contrast by varying the positions of the light sources with respect to the object or pattern being viewed and with respect to the video camera recording the scene. Additionally, the intensity and possibly the polarization and color of the light sources are varied. To achieve the desired contrast, the illumination is often manipulated to make the background either dark with respect to the object features or pattern (dark-field illumination) or bright with respect to the object features or pattern (bright-field illumination). Obtaining the proper illumination is particularly difficult when working with specular (mirror-like) surfaces, especially when the specular surfaces are curved or multifaceted.

[0007] One technique for illuminating an object for imaging purposes is described in U.S. Pat. No. 5,461,417 issued to White et al. (the “White '417” patent), expressly incorporated herein by reference. The White '417 patent discloses a system for providing a continuous, uniform, diffuse lighting environment. This system is satisfactory for certain types of applications. Another technique for illumination is described in U.S. Pat. No. 5,187,611 issued to White et al., expressly incorporated herein by reference. In this patent, a Diffuse On-Axis Light (DOAL) is described which is also beneficial in certain applications. However, good contrast sometimes requires edges to be highlighted which is best obtained from collimated unidirectional light, not uniformly diffuse light.

[0008] For certain objects, it may be advantageous to sequentially illuminate an object from a number of different viewpoints and take a picture of the object for each illumination. The pictures can then be combined into a single image. Such a system is described in U.S. Pat. No. 5,060,065 issued to Wasserman, expressly incorporated herein by reference. It may be desirable, for example, to image an object using a bright-field illumination method and subsequently image the same object using a dark-field illumination method. The bright-field and dark-field images can then be individually analyzed or can be first combined, and then analyzed.

[0009] Unfortunately, the sequential illumination method increases capture time since a separate picture is required for each illumination—each video picture typically requires {fraction (1/30)} second. Thus, if lights at three different locations from the object are utilized, three pictures would be required.

[0010] Furthermore, the combined image tends to look smeared if there is any relative motion between the object and the camera. For example, vibration may cause the object to move slightly. Since an image of the object before the motion and after the motion will not exactly coincide, the combined image will appear smeared.

SUMMARY OF THE INVENTION

[0011] The present invention provides a system and method for simultaneously obtaining a plurality of images of an object or pattern from a plurality of different viewpoints. In an exemplary embodiment of the invention, proper image contrast is obtained by replacing the light sources of earlier systems with equivalent light sensitive devices and replacing the cameras of earlier systems with equivalent light sources. With such a system, bright-field images and dark-field images may be simultaneously obtained.

[0012] In one aspect of the invention, a light source is positioned to illuminate at least a portion of an object. A plurality of light guides having input ends are positioned to simultaneously receive light reflected from the object and transmit the received light to a plurality of photodetectors. The light guides are arranged such that their respective input ends are spaced substantially equally along at least a portion of a surface of an imaginary hemisphere surrounding the object. The signals generated by the photodetectors (as a result of light detection) are processed and a plurality of images of the object are formed.

[0013] Another aspect of the invention provides a method for generating composite images from simultaneously obtained images. Equivalent regions of each image (corresponding to geographically identical subpictures) are compared. The subpicture having the highest entropy is selected and stored. This process continues until all subpictures have been considered. A new composite picture is generated by pasting together the selected subpictures.

[0014] In another aspect of the invention, the vector of relative light values gathered for each pixel or region of an object illuminated or scanned (i.e., one value for each photodetector) is used to determine reflectance properties of points or regions illuminated on the object or pattern. The reflectance properties may be stored in a matrix and the matrix used to read, for example, a Bar Code.

BRIEF DESCRIPTION OF THE DRAWINGS

[0015] The foregoing and other features of the present invention will be more readily apparent from the following detailed description of exemplary embodiments taken in conjunction with the attached drawings wherein:

[0016]FIG. 1A is a diagram of a bright-field illumination system;

[0017]FIG. 1B is an illustration of an image obtained using the bright-field method of illumination;

[0018]FIG. 2A is a diagram of a dark-field illumination system;

[0019]FIG. 2B is an illustration of an image obtained using the dark-field method of illumination;

[0020]FIG. 3 illustrates a sequential illumination system;

[0021]FIG. 4A is a diagram of an exemplary system illustrating the principles of the present invention;

[0022]FIG. 4B is a diagram of an exemplary photodetector arrangement;

[0023]FIG. 4C is a diagram of a sequential illumination system for reading characters;

[0024]FIG. 4D is a diagram of an exemplary system in accordance with the principles of the present invention corresponding to FIG. 4C;

[0025]FIG. 5 illustrates the principles of the present invention in further detail;

[0026]FIG. 6 illustrates the scanner and photodiode arrangement of FIG. 5 in further detail;

[0027]FIG. 7A is a flowchart of an illustrative process for patching an image;

[0028]FIG. 7B is a flowchart illustrating composite gradient image generation;

[0029]FIG. 8 illustrates a scanner illuminating a point on a surface;

[0030]FIG. 9 illustrates a matrix representing reflectance properties of a 2-D Bar Code;

[0031]FIG. 10A illustrates reflecting properties of a shiny surface;

[0032]FIG. 10B illustrates reflecting properties of a diffuse surface;

[0033]FIG. 10C illustrates reflecting properties of a mirror (specular) surface;

[0034]FIG. 11 is a diagram of an exemplary embodiment of pre-processing hardware; and

[0035]FIG. 12 is a diagram of an enhancement to FIG. 11.

DETAILED DESCRIPTION

[0036] Bright-field Illumination: Referring now to the drawings, and initially FIG. 1A, there is illustrated a simple bright-field illumination system 100. A video camera 110 having a lens 115 is positioned to image a shiny plate 120 having a diffuse (Lambertian) gray circle 125 painted on it. The reflecting properties of shiny, diffuse, and mirror (specular) surfaces are shown in FIGS. 10A, 10B, and 10C respectively. The shiny plate 120 is orthogonal to the viewing axis of the camera 110. Two light sources (“upper light sources”) 130 and 135, positioned equi-distantly from the shiny plate 120 and in close proximity to the camera lens 115, illuminate the shiny plate 120 and gray circle 125. The shiny plate 120 reflects light directly back to the camera 110. The circle 125, since it is diffuse, scatters the light 150. FIG. 1B illustrates the bright-field image formed by the camera 110. As shown, the image of the circle 125B appears dark relative to the bright background 120B. If the shiny plate is replaced with a true mirror, beam splitter 160 and lamp 170 would be required to direct the light parallel to the camera axis to obtain true bright-field illumination.

[0037] Dark-field Illumination: FIG. 2A illustrates a dark-field illumination system. In this system, a camera 210, lens 215, and shiny plate 220 with a gray circle 225 are positioned in the same manner as in FIG. 1A. Here, however, light sources (“lower light sources”) 260 and 265 are each positioned off to the side (with respect to the camera 210 field of view) and close to the shiny plate 220. The light sources 260 and 265 are also positioned approximately equi-distantly from the shiny plate 220. Light shrouds 275 prevent light from passing directly from lamps 260 and 265 to lens 215. Light emanating from the light sources 260 and 265 is reflected as light 270 by the shiny plate 220 in a direction away from the camera lens 215. Light impinging on the gray circle 225 is scattered. As illustrated, at least some light (280) of the light impinging on the gray circle 225 is reflected toward the camera lens 215. FIG. 2B illustrates the dark-field image captured by the camera 210. Here, the image of the circle 225B appears bright relative to the dark background 220B.

[0038] Combined System: In both the bright-field illumination system and the dark-field illumination system, if the shiny surface (in FIGS. 1A and 2A) is not perfectly flat, other bright and dark regions may appear in the image background. For example, the surface may reflect in such a way to create both real and virtual images, each of which is imaged by the video camera. Thus, it may be desirable to illuminate an object from two or more different angles (with respect to the object). Accordingly, as illustrated in FIG. 3, a single system may include upper light sources 330 and 335 (corresponding to light sources 130 and 135 of FIG. 1A) and lower light sources 360 and 365 (corresponding to light sources 260 and 265 of FIG. 2A). Each set of light sources (i.e., upper light sources 330 and 335, and lower light sources 360 and 365) may be independently used to illuminate the object (here, shiny plate 320 with gray circle 325), with an image being captured by the video camera 310 for each. The most “useful” portions of the bright-field image and the dark-field image captured can be analyzed independently or can be combined to provide a single image of the object.

[0039] Points on some surfaces have complex reflectance properties that are combinations of those shown in FIGS. 10A, 10B, and 10C. Also, there may be surface regions viewed by the system of FIG. 3 that are curved or tilted with respect to the horizontal, which may spoil the bright-field or dark-field views. Therefore, the system of FIG. 3 may not satisfy a wide range of conditions that include unusual reflectance characteristics, or curved, or multi-sloped surfaces.

[0040] As noted above, this sequential illumination method increases capture time since a picture, e.g., a video frame, is required for each illumination. Furthermore, the combined image will appear smeared if there is any relative movement between the camera and the object.

[0041] Exemplary Embodiment: The present invention solves many imaging problems by simultaneously obtaining a plurality of images of the object. Specifically, the present invention provides the proper “contrast” by replacing the light sources of earlier systems with equivalent “cameras” and the cameras of the earlier systems with equivalent light sources. With such a system, a wide choice of illumination viewpoints may be obtained to obtain bright-field or dark-field images regardless of the exact local surface properties or orientation of the object or pattern being viewed.

[0042] An exemplary system implementing the principles of the present invention is illustrated in FIG. 4A. A scanner 410 is positioned to illuminate a shiny plate 420 having a diffuse gray circle 425 painted on it. The scanner 410, which has a light beam that may be, for example, continuous or AC or pulse modulated, generates a raster scanned light spot that scans across the object but emanates from the location previously occupied by the camera lens 315 of FIG. 3. The light spot may be “white” or a single color as is generated, for example, by a light emitting diode (LED). Alternatively, the light spot may be a single wavelength as may be generated by a laser.

[0043] As illustrated in FIG. 4A, the light sources of FIG. 3, i.e., 330, 335, 360, and 365, are replaced with photodetectors 430, 435, 460, and 465 such as, for example, photodiode pickups. Because the light spot is scanned in a raster pattern, each of the photodetectors 430, 435, 460, and 465 generates a “video” signal that is synchronized with all other photodetectors 430, 435, 460, and 465. That is, at each instant of time, the signal generated at each photodetector 430, 435, 460, and 465 is as a result of the illumination of the same “pixel” (light spot on a small region of the object). However, the signals generated at each photodetector 430, 435, 460, and 465 vary in amplitude according to the reflectance properties and orientation of the area being illuminated with respect to the relative position of the scanner 410 and the photodetector 430, 435, 460, and 465.

[0044] Due to the reversibility of light rays, a region of the object (i.e., the shiny plate 420) that would appear bright to the camera 310 of FIG. 3 when illuminated by a particular light source, will generate a strong signal when illuminated with a light source (i.e., scanner 410) at the position of the original camera, but sensed by a photodetector at the location of the original light source. Similarly, a region that appeared to be dim to the camera 310 of FIG. 3 when illuminated by a particular light source will generate a weak signal when illuminated with a light source (scanner 310) at the position of the original camera 310 of FIG. 3, but sensed by a light sensor at the location of the original light source. Thus, when the background of the shiny plate 420 is illuminated by the scanner 410, photodetectors 430 and 435 generate a relatively strong signal while photodetectors 460 and 465 generate a relatively weak signal. Furthermore, when the gray diffuse circle 425 is illuminated by the scanner 410, photodetectors 430 and 435 generate a relatively weak signal while photodetectors 460 and 465 generate relatively strong signals. Accordingly, photodetectors 430 and 435 capture bright-field images of the shiny plate 420 while photodetector 460 and 465 capture dark-field images of the shiny plate 420.

[0045] Applying the principles of the present invention, many equivalent “illumination viewpoints” can be simultaneously captured by strategically positioning simple light pickups such as, for example, photodiodes at viewpoints surrounding the object to be viewed.

[0046] Accordingly, bright-field images and dark-field images from different viewpoints can simultaneously be captured. In accordance with the principles of the present invention, the light sensitive devices of the illustrated embodiments may employ lenses, fiber optics, light guides, or simple photodetectors. The photodetectors may be photomultipliers or semiconductor photodiodes such as, for example, avalanche photodiodes, or phototransistors.

[0047] Furthermore, multiple photodetectors can be arranged at a particular viewpoint to replace or correspond to different types of light sources. Referring to FIG. 4B, an exemplary photodetector arrangement is illustrated, generally corresponding to an array of lensed LEDs used in many machine vision applications. Each lens 410B of a lenslet array 420B focuses light onto a corresponding photodiode 430B of a photodiode array 440B. The output signal from each photodiode 430B is applied to a summing amplifier 450B. The output signal from the summing amplifier 450B may then be sampled. In another embodiment, the output signal from each individual photodiode 450B may be individually sampled. The arrangement of FIG. 4B is particularly suitable for viewing certain specular surfaces which are normally best viewed with distributed light sources. As an alternative, a single fiber bundle or light guide may be used to gather the light from each lenslet at its focal point and the light from all of the bundles or light guides may be summed at a single photodetector.

[0048] In applying the principles of the present invention, a major benefit is that commercially available machine vision system optics or fiber optics may be utilized. For example, Fiber-Lite®, manufactured by Dolan-Jenner Industries, is an illumination system that couples a light input through a fiber optic assembly to form a line of light (MV-IND150LA), an area of light (MV-IND150ABL), a point of light (MV-IND150FO), or a ring of light (MV-IND150RL). Any of these assemblies can be used to create a correspondingly shaped “equivalent” to the light source by replacing the light normally used as input to the fiber optic assembly with a photodetector apparatus that provides the desired output signals.

[0049] Application of the Principles of the Present Invention:

[0050] When imaging characters (e.g., serial numbers) that are positioned on a semiconductor wafer, prior art systems typically require that light sources be located at a particular critical location according to the reflectance properties of both the wafer and the characters on the wafer. However, both surface and sub-surface properties may change depending on where in the semiconductor manufacturing process (i.e., what process step) the characters are being imaged. With prior art systems, many illumination locations may have to be tested before the characters can be properly read. An example of various type of illumination that could be used for imaging characters on a wafer using standard machine vision techniques is shown in FIG. 4C. As illustrated, characters on wafer 400C are sequentially illuminated by a high dark field light source 410C, (used to produce a dark-field image), a high DOAL (diffuse on axis light) 420C (positioned to produce a bright-field image), and a low DOAL 430C (positioned to produce a bright-field image). A camera 450C must capture three separate images of the characters—one per light source.

[0051] Referring now to FIG. 4D, in accordance with the principles of the present invention, each of the light sources (i.e., 410C, 420C, and 430C) are replaced with a corresponding photodetector (410D, 420D, and 430D) while the camera 450B is replaced with a laser scanner (450C). Here, the characters on the wafer are required to be scanned only one time, with three images being simultaneously captured by the photodetectors 410D, 420D, and 430D.

[0052] Detailed Diagram: FIG. 5 is a diagram illustrating the general principles of the present invention in further detail. A scanner 500, positioned to illuminate an object 501 (such as, for example, a semiconductor package), is controlled by scan control circuitry 502 (under the control of sync signals from a microprocessor or associated hardware 503) to scan the object 501 in a raster pattern. Specifically, the scan control circuitry 501 provides horizontal and vertical scan control signals 504 and a pixel clock signal 505, to control the scanner 500 to sequentially illuminate each spot (i.e., pixel) on the object 501.

[0053] Photodetectors, for example, photodiodes PD1-PDn, are positioned to capture light reflected by the object 501 (as a result of illumination by the scanner 500) from various viewpoints. As illustrated, for a horizontal surface, the photodiodes positioned closest to the object 501 (i.e., photodiodes PD5-PDn) provide dark-field images while the remaining photodiodes (i.e., PD1-PD4) are positioned for bright-field imaging. However, when imaging a portion of a specular surface that is at a steep angle to the horizontal, the roles of the PD1-PD4 and PD5-PDn may reverse in which case PD5-PDn would provide bright-field images and PD1-PD4 would provide dark-field images. Depending on the complexity of the surfaces being imaged, more or less photodiodes than are shown in FIG. 5 may be used to gather sufficient data for a particular machine vision application.

[0054] Each of the photodiodes PD1-PDn is connected to an amplifier A1-An for amplifying the signals (representing the intensity of the reflected light detected by the photodiodes PD1-PDn) generated by the photodiodes PD1-PDn. Due to the variation in specularity of the surfaces of the scanned object 501, light intensity levels into the photodiodes PD1-PDn may have a very large dynamic range. Accordingly, logarithmic amplifiers may be advantageously used. In the exemplary embodiment of the present invention, although other amplifiers may be used, logarithmic amplifiers provide several advantages over linear amplifiers (although other types of amplifiers may be used):

[0055] the logarithmic output signal is compressed so that fewer bits are needed to represent the signal—in spite of the large dynamic range;

[0056] logarithmic output signals are easily processed when looking for significant changes (edges) since the same percentage change in a signal always corresponds to the same numeric difference regardless of the signal amplitude; and

[0057] logarithmic output signals may be easily normalized since dividing the output signal by a reference signal is performed by simply subtracting the reference from the output.

[0058] Each of the amplifiers A1-An is connected to a sample and hold circuit (or register) SH1-SHn for sampling the signals output by the amplifiers A1-An. The sample and hold circuits SH1-SHn are synchronized with the scanner by scan control circuitry 502 so that signals representing the intensity of reflected light detected by photo detectors PD1-PDn at the same given instant in time are sampled for each spot of the object illuminated by the scanner 500. The signals output by the sample and hold circuitry SH1-SHn are applied to a multiplexer MPX. Under the control of data control circuitry 506 (which is, in turn, controlled by the microprocessor) the analog signals from the sample and hold circuitry SH1-SHn are sequentially applied to an analog to digital (A/D) converter 507 by the multiplexer MPX. The digital signals generated by the A/D converter 507 are buffered in a buffer memory 508 (or other recording device) at addresses identified by the data control circuitry 507 (under the control of the microprocessor 503).

[0059] In operation, each spot illuminated by the scanner 500 is simultaneously imaged by the photodiodes PD1-PDn. That is, for each spot illuminated at a given X-Y coordinate, a digital intensity value is stored in the buffer memory 508 representing the intensity of the light reflected by the object 501 as detected by each of the photodiodes PD1-PDn. Accordingly, for the exemplary embodiment of the present invention, n images of the object 501 are captured (i.e., one image per photodiode) as a result of a single scan of the object 501.

[0060]FIG. 6 illustrates the scanner 500 and the photodiode PD1-PDn arrangement in further detail. A light beam 600 from a light source 610, such as, for example a commercially available collimated laser diode light source, is directed though a beam splitter 620 into a lens 630 that focuses the beam 600 to a predetermined spot size on plane 660 via X and Y mirror galvanometers 640 and 650. The X galvanometer 640, controlled by the X and Y scan control signals 504 of FIG. 5 and preferably oscillating in accordance with pixel clock 505, reflects the beam 600 onto a Y mirror galvanometer 650. The Y galvanometer 650, also controlled by the X and Y scan control signals 504, reflects the beam 600 onto a point of the object 660 under examination. As will be understood by those of skill in the art, sequentially moving the X galvanometer 640 in the direction of arrow 640A causes the beam 600 to illuminate points on the object's surface along an X axis, while sequentially moving the Y galvanometer 650 in the direction of arrow 650A causes the beam 600 to illuminate points along a Y axis. Accordingly, the scanner 500 is controllable to illuminate each point on the object's surface 660 in a raster pattern. This spot may be illuminated continuously or just during a brief interval at each pixel position as it travels from one pixel position to another according to the pixel clock signal 505.

[0061] In another embodiment, the X galvanometer 640 may be replaced with a fixed mirror so that the object 660 is scanned in a single line along the Y axis. The object 660 may then be translated in the X direction via a conveyor or translation table in order to raster scan the object 660. Similarly, the Y galvanometer 650 may be replaced with a fixed mirror and the object 660 translated in the Y direction, or both galvanometers 640 and 650 may be replaced with fixed mirrors and the object translated by an X-Y translation table.

[0062] Furthermore, although galvanometers 650 and 660 are shown, other deflection devices such as rotating polygons with mirrored surfaces, rotating prisms, and acousto-optic beam deflectors, all of which are well known in the art, may be used to obtain the desired scan pattern. Also, the light beam deflection optics may have many variants such as the use of potical scan lenses 680 (for example, an F-Theta or telecentric lens) between the last beam deflector (here, galvanometer 650) and the object which can be used to provide a more uniform scan pattern or a pattern in which the beam remains substantially perpendicular to surface 660 over all X, Y beam positions.

[0063] As shown in FIG. 6, the scanner 500 of the exemplary embodiment further includes a lens 670 which focuses light reflected from the object along the beam path 600 onto a photodiode PDn+1 to sample the light that returns directly along the illumination path. This photodiode corresponds to light source 170 of FIG. 1A. Also, a stop 671 is included to absorb light that is deflected by beam splitter 620.

[0064] In the exemplary embodiment of the present invention, light guides LG1-LGn are distributed around the periphery of an imaginary hemisphere surrounding the object such that their respective input ends are uniformly angularly spaced when viewed from the center of the hemisphere (i.e., the approximate object location). Simple patterns such as closely packed circles or hexagons may be used to evenly space the input ends of the light guides LG1-LGn in azimuth and elevation along the entire surface of the hemisphere, each of the ends in a center of a circle or hexagon. In the exemplary embodiment, if hexagons are used, the axis of the center beam from scanner 500 may be aligned with a corner where three hexagons meet. Alternatively, the axis of the center ray beam of the scanner 500 may be aligned with the center of the “top” hexagon. Many other distribution schemes are possible.

[0065] In the exemplary embodiment, each of the individual light guide LG1-LGn input ends may lie above or below the surface of the hemisphere. However, each light guide LG1-LGn input end is positioned to maintain the desired angular location when viewed from the object. Output variations between the photodetectors that are connected to light guides LG1-LGn whose input ends are closer or further to the object may be removed during equipment calibration or via computation. Computations are based on the known distance between each input end and the normal object location using the inverse square law.

[0066] The output ends of the light guides LG1-LGn are proximity focused onto associated photodetectors, i.e., photodiodes PD1-PDn (described above in connection with FIG. 5).

[0067] In an alternative embodiment, a separate lens may be used to image the output end of each light guide LG1-LGn onto its corresponding photodiode PD1-PDn.

[0068] Also, a separate lens may be used to image the field of view onto each light guide input end. When such is the case, the separate lens may be selected with a large numerical aperture for maximum light capture. Depth of field and exact focus are not as important considerations as they would be in a camera lens which must resolve adjacent pixels. If the lens associated with the input end of the fiber is somewhat out of focus so that light spills outside of the fiber end, it merely reduces the amount of light captured—it down not affect the sharpness of the captured image. Conversely, depth of field and focus is an important issue for the raster scanned beam. If this beam is out of exact focus or if the scene being scanned does not fall into the depth of field of the scanning beam, the captured image will be blurred since the light spot impinging on the surface being scanned may be significantly larger than the space between pixels as defined by the distance between illuminating pulses or recording intervals. Maximizing the depth of field requires minimizing the numerical aperture of the spot scanner optics, which makes it important to choose a bright source if it is desired to maintain a high level of illumination. When the brightest spot is desired, a laser is a suitable light source. When using a laser for illumination, it is also possible to use narrow bandpass light filters (for example, of 10 nm width) to eliminate ambient light while passing scanned light reflected from the scene into the photodetectors. Such filters may be placed anywhere in the light path between the scene and the photodetectors.

[0069] In accordance with the exemplary embodiment, when substituting photodetectors for a light source at a particular viewpoint as described in connection with FIGS. 4A, 5, and 6, several factors may be taken into account, such as, for example, sensitivity at chosen wavelengths, dynamic range, and frequency response. Avalanche photodiodes are generally very fast devices with large dynamic ranges and are particularly well suited for capturing high speed pulses at extremely low light levels due to their very high sensitivity. Photomultipliers have similar properties.

[0070] The ordinary photodiode, p-i-n photodiode, or phototransistor is also capable of good performance in video application but is of less utility with extremely high speed pulses at extremely low light levels. All of the solid state photodetector devices lose their high frequency capability as their area (and hence capacitance) increases. Accordingly, although it would appear easiest to emulate a light source viewpoint by locating the photosensitive device at the desired position and enlarging its area until it equaled that of the light source it was replacing, the loss of high frequency response and increase in attendant noise (due to increased area) will not always permit this approach.

[0071] One exemplary approach, however, is to use a lens to image the scanned scene onto the photosensitive device. This increases the energy collected to that collected over the area of the lens without increasing the area of the photodetector (with all of the corresponding disadvantages). Alternatively, in some applications, a non-imaging device, such as, for example, a tapered light pipe, may be used instead of a lens. With certain limits, the gain achieved via a tapered light pipe is equal to the input area divided by the area exiting to the photodetector. If an attempt is made to achieve too high a gain, the output rays will emerge almost parallel to the photodetector surface, and by Fresnel relationships, be reflected by the photodetector rather than absorbed.

[0072] Calibration: The exemplary embodiment illustrated in FIGS. 5 and 6 may be calibrated by scanning a flat white object and normalizing the output from each photodiode PD1-PDn with respect to each other. The correction values for normalization may then be stored in a table in memory accessible by microprocessor 503, and used during image processing. Although one value could be recorded for each illuminated position of the raster scan, it may only be necessary to store a small subset of this information since the correction values will generally vary very slowly across the field of view.

[0073] Composite Images: When a specular object has a curved or multi-faceted surface, there may be no individual image captured that has useful data that covers the entire object. In such a case, it may be necessary for the microprocessor 503 to patch together the “best” portions (i.e., the portions having the highest information content) of each of the pictures obtained from each viewpoint to form a composite image. The flowchart of FIG. 7A shows an exemplary process performed by the microprocessor 503 for “patching” an image.

[0074] In accordance with the exemplary process, equivalent regions of each image (corresponding to geographically identical subpictures) are compared(step 710). Since the “useful” portion of a scene will generally be the portion with the highest entropy—in a practical sense, the portion with the most change or “detail,” the subpicture having the highest entropy (for the image information sought) is selected and is stored in memory (step 720).

[0075] One way to determine the entropy of each subpicture is to pass each subpicture through a 2-D high-pass spatial frequency filter and then square each resulting pixel value. If desired, each pixel may be compared to a threshold value and set to zero if less than the threshold value (in order to eliminate pixels representing noise). The pixel values in the subpicture may then be summed to obtain a value for the entropy of the subpicture.

[0076] When certain characteristics of the subpicture desired are known in advance, such as the particular frequency or pitch that may be present in the image of a 2-D bar code, the subpicture may be passed through a corresponding bandpass spatial filter in place of, or in addition to, the aforementioned high-pass filter.

[0077] This process of FIG. 7A continues until all subpictures have been considered (step 730). A new composite picture is then generated (by patching together the selected subpictures) (step 740) that best expresses the detail or structure of the pattern or object being examined.

[0078] In the exemplary embodiment, patching is simple because there is no perspective distortion due to the varied viewpoints. Data captured at the same instant of time at each viewpoint will almost always be from the same illuminated spot or “pixel.” Occasionally light may be received via a multiple reflection, but this will not be the usual case.

[0079] As one of skill in the art will understand, however, it may be necessary to conform the selected subpictures to each other. For example, assume that images are represented by N×M bit matrices wherein a “1” represents bright and a “0” represents dark. If a bright field subpicture and a dark-field subpicture are to be patched together, each bit in one of the subpictures, for example, the dark-field subpicture, is XOR'ed with a “1” so as to “flip the bits” of the subpicture to conform it to the bright-field subpicture. In effect, the dark-field subpicture is converted to an equivalent bright-field subpicture. Of course, the bright-field subpicture may be converted to an equivalent dark-field subpicture in a similar manner.

[0080] Although the composite image obtained as described in connection with FIG. 7A may be processed to reveal edges, a composite edge image or composite gradient magnitude image may also be derived directly from the individual images obtained from each of the photodetectors.

[0081]FIG. 7B is a flowchart of an exemplary process for deriving the composite gradient magnitude image directly from the individual images. Gradient magnitude is computed as follows:

df/dr=[(df/dx)²+(df/dy)² ]|i=0 . . . m−1, j=0 . . . n−1

[0082] Accordingly, in step 710B, df/dx is derived (for each of the image matrices P₁-P_(s) obtained from the photodetectors) from the convolution of each image matrix P₁-P_(s) with the Sobel horizontal mask h_(H), (i.e., the Sobel kernal sensitive to vertical edges): $h_{H} = {\begin{bmatrix} 1 & 0 & {- 1} \\ 2 & 0 & {- 2} \\ 1 & 0 & {- 1} \end{bmatrix}.}$

[0083] Thus, ${{{{{q_{h}\left( {i,j} \right)} = {\sum\limits_{i = {- 1}}^{i}\quad {\sum\limits_{j = {- 1}}^{j}\quad {{P_{t}\left( {{i - k},{j - 1}} \right)}{h_{H}\left( {k,1} \right)}}}}}}i} = {{0\quad \ldots \quad m} - 1}},{j = {{0\quad \ldots \quad n} - 1}}$

[0084] is calculated for each image matrix (step 70B).

[0085] Next, in step 720B, df/dy is derived for each of the image matrices P from the convolution of each image matrix P₁-P_(s) with the Sobel vertical mask h_(v) (i.e., the Sobel kernal sensitive to horizontal edges): $h_{v} = {\begin{bmatrix} {- 1} & {- 2} & {- 1} \\ 0 & 0 & 0 \\ 1 & 2 & 1 \end{bmatrix}.}$

[0086] Thus ${{{{{q_{v}\left( {i,j} \right)} = {\sum\limits_{i = {- 1}}^{i}\quad {\sum\limits_{j = {- 1}}^{j}\quad {{P_{t}\left( {{i - k},{j - 1}} \right)}{h_{v}\left( {k,1} \right)}}}}}}i} = {{0\quad \ldots \quad m} - 1}},{j = {{0\quad \ldots \quad n} - 1}}$

[0087] is calculated for each image matrix (step 720B).

[0088] The discrete gradient at image coordinate i, j is then determined for each image matrix q_(h)(i, j) as follows:

g _(t)(i, j)=[(q _(h)(i, j))²+(q _(v)(i, j))² ]|i=0 . . . m−1, j=0 . . . n−1   (step 730B).

[0089] Finally, the gradient matrices g_(t)(i, j) corresponding to image matrices P₁-P_(s) are added together to provide a composite gradient magnitude image matrix G:

G(i, j)=Σg _(t)   (step 740B)

[0090] The composite gradient image may be optionally thresholded (step 750B).

[0091] Reflectance: The vector of relative light values gathered for each pixel or region being illuminated (i.e., one value for each photodiode PD1-PDn of FIG. 5) provides a means to infer reflectance properties (e.g., the surface is specular or matte) of points or regions illuminated on the object or pattern.

[0092] For each vector of relative light values collected for each pixel, for example, the following may be determined by the processor 503 or external circuitry (not shown):

[0093] 1) the location of the photodetector that has the largest signal and its signal amplitude (the signal amplitude may be used as a reference and the location used to determine the orientation of the point corresponding to the pixel on the object surface);

[0094] 2) the total (relative) energy received (calculated by, for example, adding together the intensity values represented by each of the signals generated by the photodetectors as a result of detecting light);

[0095] 3) the median signal amplitude as a fraction of the reference;

[0096] 4) the mean signal amplitude as a fraction of the reference;

[0097] 5) the distance from the reference sensor (for a given configuration, the location of each of the sensors is known thus the distance is easily calculated) that must be traveled to obtain a significant fraction of the total energy received (e.g., the fraction of the total number of detectors that capture almost all of the energy)—(this may be calculated, for example, by adding the largest signals—in size order, largest first—until the total is a predetermined percentage of the total energy received by the system and determining how many of signals were added);

[0098] 6) the standard deviation of the energy received; and

[0099] 7) the ratio of the largest element of the vector (i.e., the highest light intensity value) to the smallest.

[0100] From the above-listed calculations, reflectance properties may be inferred. If, for example, a point on an object is highly specular (in an ideal sense), one photodetector would receive all (or most) of the reflected light energy. As shown in FIG. 8, for example, a scanner 810 illuminates a point 820 on a surface of an object 830. If the object is specular at the point 820, the reflected light intensity detected by one of the photodiodes (in this case, photodiode PD2) will likely be significantly larger than the light detected by neighboring photodiodes (here, photodiodes PD1 and PD3). Similarly, if the vector of light intensity values associated with illumination of the point 820 consists of approximately equal values (except for the cosine falloff with angle), the surface being illuminated is diffuse or matte.

[0101] Accordingly, reflectance properties would be evident from all of the values calculated in connection with 1) through 7) above. However, not all values are necessary to infer reflectance properties. For example, the value calculated for item 5, i.e., the fraction of the total number of detectors that capture almost all of the energy, may be sufficient to infer specularity (e.g., item 5 would be very small). Similarly, if the point is completely matte, the computed values corresponding to items 1, 3, and 4 will be close in amplitude. Moreover, the computed values corresponding to items 6 and 7 will be small.

[0102] Because reflectance properties corresponding to a point are contained in the computed relationships of the values in the vector (as set forth, for example, in items 1-7 above), the amount of information that must be stored and processed to sufficiently describe these properties can be significantly decreased. Rather than storing each element of the vector (each element corresponding to one photodetector), it may be only necessary to store a subset of values corresponding to the computed properties of the vector. For example, under certain circumstances, recording items 1, 5, and 6 (above) for each point scanned (as derived from the vector of light intensity values associated with that point) provides sufficient information to infer reflectance. This may be done on a pixel by pixel basis.

[0103] In some other circumstances it may only be necessary to store a single bit, a “1” for specular and a “0” for non specular, etc., for each input vector, according to a decision made based on vector data. The data required to be kept will be application specific.

[0104] Pre-Processing Circuitry: When a reduction in the amount of data recorded as described above is desired, the input vector must be examined or pre-processed between illumination of adjacent pixels. Accordingly, special purpose hardware can be used to ensure that the required processing can be done in the inter-pixel time interval. Such special purpose processing may take advantage of parallel architecture or mixed analog and digital processing to obtain the necessary speed. The portion of the system outlined in dashed lines 511 illustrated in FIG. 5 may be replaced with such pre-processing hardware.

[0105]FIG. 11 illustrates an exemplary embodiment of the pre-processing hardware. As illustrated, the signals from each of the log amplifiers A1-An of FIG. 5 are applied to corresponding analog to digital (A/D) converters A/D1-A/Dn where the analog signals are converted to eight bit digital signals. The digital signals from the A/D converters A/D1-A/Dn (each digital signal representing one vector element) are applied, in parallel to that logic circuit 1101 which identifies and extracts the largest digital signal.

[0106] The details of logic circuit 1101 are not shown since there are any number of ways that this can be designed. For example, the most significant bit of each vector element may be examined. Elements having a “0” in this position may be eliminated from further consideration if any of the other elements have a “1” in the same position. This may be repeated for each bit position, one at a time, until the least significant bit of the elements have been considered. At that time, only the largest of the elements will remain. Although this can be performed as a sequential process, it may be advantageous to implement this operation (circuit 1101) as a parallel process by using hard wired logic (using, for example, a PAL, an ASIC, etc.) to obtain high speed operation. Using additional gating at the logic circuit 1101, a processor 1102 may address any of the vector elements in order to use the logic circuit 1101 as a demultiplexer or selector switch.

[0107] The element extracted as the “largest” (i.e., a “reference” value) can now be used to normalize the other vector elements. Since the vector elements are log functions (as when amplifiers A1-An are log amplifiers), normalization can be accomplished using digital subtraction circuits DS1-DSn. Specifically, the digital signals from A/D converters A/D1-A/Dn are applied to the positive input of corresponding subtraction circuits DS1-DSn where the “largest” vector element from logic circuit 1101 is subtracted from each. The result will be a negative number for each of the elements (except, of course, for each element equal to the “largest” vector element) that is proportional to the log of the ratio of each element to the reference value.

[0108] Next, the processor 1102 polls the element values to rapidly determine which element values are larger than some particular fraction of the energy of the reference value. For example, if the processor is to determine the number of elements whose power is at least 1/e**2 of the reference value, each of the signals output from the digital subtractors DS1-DSn are applied to the positive input of corresponding digital subtraction circuits DSS1-DSSn, and log(1/e**2) 1103 is subtracted therefrom. The elements that have more power than 1/e**2 of the reference value produces a positive value at the output of corresponding subtraction circuits DSS1-DSSn. The elements that have less power produce a negative value at the output of corresponding subtraction circuits DSS1-DSSn.

[0109] The signals from the digital subtraction circuits DSS1-DSSn are applied to corresponding sign function (sgn) circuits SGN1-SGNn, each of which output a high or positive signal if the input signal is positive and output a low or negative signal if the input signal is negative. The signals output by the sgn circuits SGN1-SGNn are transmitted to the processor 1102. A processor (i.e., processor 1102) having an n bit word can thus identify which of the n element values exceed a particular fraction of the reference power.

[0110] With the hardware described above, it is possible to obtain a new vector containing far fewer data bits than the number of bits in the original vector, and yet still have sufficient information to enhance the image processing or other machine vision operation via knowledge of the reflectance properties of the individual pixels.

[0111] The diagram of FIG. 12 illustrates an enhancement to the pre-processing circuitry of FIG. 11. In particular, the logic circuitry illustrated in FIG. 12 replaces logic circuit 1101. As illustrated, the analog signals from amplifiers A1-An of FIG. 5 are applied to corresponding high speed operational amplifier (“op amp”) with diode networks OP1-OPn. The op amp network(s) OP1-OPn corresponding to the largest signal(s) input from amplifiers A1-An generate a positive output signal. The remaining networks OP1-OPn generate a negative output signal.

[0112] The signals from networks OP1-OPn are applied to corresponding comparators C1-Cn which convert the positive signals to “1's” and negative signals to “0's.” These signals are then each applied to a first terminal of corresponding NAND sample gates N1-Nn.

[0113] A negative pulse 1201 resets latches 1202 before each illumination light pulse. This pulse is also inverted by invertor 1203 (after a delay) and applied to each of the second terminals of NAND gates N1-Nn. The signals output by each NAND gate N1-Nn are applied, in parallel, to latches 1202 which latches the applied signals. The signals from latches 1202 are then applied to a selector switch 1204 to select the appropriate signal (i.e., the largest signal) from the signals received from A/D1-A/Dn. The selected signal is then output at output terminal 1205 and may then be used as the reference signal (described above in connection with FIG. 11).

[0114] 2-D Bar Code: Determining the reflectance property of each point on a surface is particularly useful in a machine vision application such as reading two-dimensional (“2-D”) Bar Codes and data matrix symbols (as described in U.S. Pat. Nos. 4,939,354 and 5,053,609, both expressly incorporated herein by reference). Bar Codes and data matrix symbols are typically generated on a part by altering its local reflectance properties via laser marking, sandblasting, peening, or other means. In the exemplary embodiment, the processor 503 analyzes the information stored regarding each point (e.g., items 1, 5, and 6 above) and generates a two dimensional bit matrix representing the inferred reflectance property of each point illuminated on the object's surface. FIG. 9 illustrates a portion of the generated matrix 910 representing a data matrix symbol sandblasted on a specular surface (such as, for example, stainless steel). Here, a “1” identifies that the corresponding point on the object's surface is highly reflective or specular while a “0” identifies that the point is matte. By analyzing this matrix 910, the processor can easily decode the two dimensional data matrix symbol.

[0115] Surface Orientation: The vector of relative light values gathered for each pixel also provide a means to infer the surface orientation of points or regions illuminated on the object or pattern. As illustrated in FIG. 8, the normal to the surface at that location may be determined by observing which photodiode detected the highest intensity reflected light, since at approximate locations of the light source 810, the photodiodes PD1-PD3, and the object 830 are known.

[0116] 2-D And 3-D Images: As a person of skill in the art will understand, the present invention can be applied to simultaneously obtaining multiple 2-D images of an object, simultaneously obtaining multiple three-dimensional (3-D) images of an object, and simultaneously obtaining both 2-D and 3-D images of an object. One 3-D imaging technique (obtaining a single 3-D image) is described in U.S. Pat. No. 4,957,369 to Antonsson, expressly incorporated herein by reference.

[0117] Portable Scanner: It is not necessary to locate the photodetectors and the light source in the same housing, although for certain applications, a common housing may be desirable. A common housing puts all of the optical scanning and photodetection equipment into one easily handled package, and creates a known fixed geometric relationship between the light source and the various photodetectors. This fixed relationship is useful for computing ranges via triangulation and for taking distance and angle into account when determining reflectance properties. The photodetectors may be multi output position sensing devices where a ratio of signals indicates angle and the sum of the signals indicates the light values, as disclosed in U.S. Pat. No. 4,957,369 issued to Antonsson, expressly incorporated herein by reference. However, for portable hand held applications, it may be advantageous to physically separate the functions so that the laser scanning function can be operator held and made as small and lightweight as possible. The photodetectors and processing equipment may be distributed throughout the room or work area where the hand held scanner will be used. Most of the photodetectors, however, should not be shadowed from the area of the object that is being scanned by the light spot.

[0118] The object can be located at a large distance from the hand-held laser scanner as long as the laser spot is kept reasonably well focussed on the object surface. There are many ways that focus can be maintained. The simplest are based on normal camera-based autofocus techniques such as sonic ranging, maximizing detail, meter ranging, etc. These known systems can be built into the hand held scanner. Alternatively, the scanner 500 could have its own internal light source (AC or pulsed) used as a target for two photodetectors on a known baseline. This allows the system to track the location of the hand scanner with respect to the known baseline. Since the location of the scanner location and the target location (by tracking a light spot on the object surface), the processor 503 could compute the range between the scanner and the target and use this information to adjust the optics in the scanner to maintain focus.

[0119] Other alternative embodiments: While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention. 

What is claimed is:
 1. A method for imaging an object comprising the steps of: a) illuminating at least a portion of the object with light transmitted by a light source; b) detecting light reflected from the object at a first preselected position; c) forming a bright-field image of the illuminated portion of the object as a function of the light detected in step b); d) simultaneously with step b), detecting light reflected from the object at a second position; e) forming a dark-field image of the illuminated portion of the object as a function of the light detected in step d); f) determining the entropy of a first portion of the bright-field image corresponding to a first portion of the object; g) determining the entropy of a first portion of the dark-field image corresponding to the first portion of the object; h) selecting either the first portion of the bright-field image or the first portion of the dark-field image as a function of the bright-field entropy and the dark-field entropy; i) determining the entropy of a second portion of the bright-field image corresponding to a second portion of the object; j) determining the entropy of a second portion of the dark-field image corresponding to the second portion of the object; k) selecting either the second portion of the bright-field image or the second portion of the dark-field image as a function of the bright-field entropy and the dark-field entropy; and l) combining the selected first portion and the selected second portion to form a composite image.
 2. The method of claim 1 wherein the illuminating step comprises the step of: scanning the at least portion of the object with a collimated light source.
 3. The method of claim 1 wherein the illuminating step comprises the step of: scanning the at least portion of the object with a focused light source.
 4. A method of imaging an object comprising the steps of: a) illuminating at least a portion of the object with light transmitted by a light source; b) detecting light reflected from the object at a first preselected position; c) forming a first image of the illuminated portion of the object as a function of the light detected in step b); d) simultaneously with step b), detecting light reflected from the object at a second preselected position; e) forming a second image of the illuminated portion of the object as a function of the light detected in step d); f) dividing the first image into a plurality of first subimages; g) dividing the second image into a plurality of second subimages; h) determining the entropy of one of the plurality of first subimages corresponding to a first portion of the object; i) determining the entropy of one of the plurality of second subimages corresponding to the first portion of the object; j) comparing the determined entropy of the one of the plurality of first subimages with the determined entropy of the one of the plurality of second subimages; k) selecting either the one of the plurality of first subimages or one of the plurality of second subimages as a function of the result of step j); l) determining the entropy of a second of the plurality of first subimages corresponding to a second portion of the object wherein the second portion is different than the first portion; m) determining the entropy of a second of the plurality of second subimages corresponding to the second portion of the object; n) comparing the determined entropy of the second of the plurality of first subimages with the determined entropy of the second of the plurality of second subimages; o) selecting either the second of the plurality of first subimages or second of the plurality of second subimages as a function of the result of step n); and p) combining the subimage selected in step k and the subimage selected in step o to form a composite image.
 5. The method of claim 4 wherein the illuminating step comprises the step of: scanning the at least portion of the object with a collimated light source.
 6. The method of claim 4 wherein the illuminating step comprises the step of: scanning the at least portion of the object with a focused light source.
 7. A method for imaging an object comprising the steps of: a) illuminating at least a portion of the object with light transmitted by a light source; b) detecting light reflected from the object at a first preselected position; c) forming a bright-field image of the illuminated portion of the object as a function of the light detected in step b); d) simultaneously with step b), detecting light reflected from the object at a second position; e) forming a dark-field image of the illuminated portion of the object as a function of the light detected in step d); f) determining a first gradient image as a function of the bright-field image; g) determining a second gradient image as a function of the dark-field image; and h) determining a composite image as a function of the first gradient image and the second gradient image.
 8. The method of claim 7 wherein the illuminating step comprises the step of: scanning the at least portion of the object with a collimated light source.
 9. The method of claim 7 wherein the illuminating step comprises the step of: scanning the at least portion of the object with a focused light source.
 10. A method of imaging an object comprising the steps of: a) illuminating at least a portion of the object with light transmitted by a light source; b) detecting light reflected from the object at a first preselected position; c) forming a first image of the illuminated portion of the object as a function of the light detected in step b); d) simultaneously with step b), detecting light reflected from the object at a second preselected position; e) forming a second image of the illuminated portion of the object as a function of the light detected in step d); f) determining a first gradient image as a function of the first image; g) determining a second gradient image as a function of the second image; and h) determining a composite image as a function of the first gradient image and the second gradient image.
 11. The method of claim 10 wherein the illuminating step comprises the step of: scanning the at least portion of the object with a collimated light source.
 12. The method of claim 10 wherein the illuminating step comprises the step of: scanning the at least portion of the object with a focused light source.
 13. The method of claim 10 further wherein the determining step h) comprises: adding the first gradient image to the second gradient image.
 14. A method of imaging a semiconductor package comprising the steps of: a) illuminating at least a portion of the semiconductor package with light transmitted by a light source; b) detecting light reflected from the semiconductor package at a first preselected position; c) forming a first image of the illuminated portion of the semiconductor package as a function of the light detected in step b); d) simultaneously with step b), detecting light reflected from the semiconductor package at a second preselected position; e) forming a second image of the illuminated portion of the semiconductor package as a function of the light detected in step d); f) determining a first gradient image as a function of the first image; g) determining a second gradient image as a function of the second image; and h) determining a composite image as a function of the first gradient image and the second gradient image.
 15. A method for determining reflectance properties of an object comprising the steps of: a) illuminating a first portion of the object with light transmitted by a light source; b) detecting light reflected from the first portion of the object at a plurality of preselected positions simultaneously; c) generating a plurality of intensity signals corresponding to an intensity of light value detected at each of the plurality of preselected positions; d) comparing the plurality of intensity signals; and e) determining the reflectance property of the first portion of the object as a function of a result of the comparing step.
 16. The method of claim 15 wherein the detecting step b) comprises the step of: detecting light reflected from the first portion of the object at a plurality of preselected positions simultaneously, wherein the preselected positions are substantially uniformly angularly spaced with respect to the object.
 17. The method of claim 15 further comprising the steps of: f) storing a representation of the reflectance property of the illuminated portion of the object at a position in a matrix corresponding to the first portion of the object; and sequentially repeating each of steps a)-f) for a plurality of different portions of the object.
 18. The method of claim 17 further comprising the step of: using the matrix to read a Bar Code.
 19. The method of claim 17 further comprising the step of: using the matrix to read a data matrix symbol.
 20. The method of claim 15 wherein the determining step d) comprises the steps of: determining a reference intensity signal as a function of step e); comparing the reference intensity signal to each of the plurality of intensity signals; and determining the reflectance property of the first portion.
 21. The method of claim 15 wherein the determining step e) comprises the steps of: identifying the first portion as diffuse if the plurality of intensity signals are substantially equal; and identifying the first portion as reflective if one of the plurality of intensity signals is larger than the others of the plurality of intensity signals by a predetermined amount.
 22. The method of claim 15 wherein the determining step e) comprises the steps of: determining a standard deviation of the plurality of intensity signals; and identifying the portion of the object as matte if the standard deviation is less than a predetermined value.
 23. The method of claim 15 wherein the determining step e) comprises the steps of: adding each of the intensity values represented by each of the plurality of intensity signals to determine a total detected intensity; determining a number of the plurality of intensity signals that represent a predetermined fraction of the total detected intensity; and identifying the portion of the object as reflective is the determined number is less than a predetermined number.
 24. A method for determining reflectance properties of an object comprising the steps of: a) illuminating a first portion of the object with light transmitted by a light source; b) detecting light reflected from the first portion of the object at a plurality of preselected positions simultaneously; c) generating a plurality of intensity signals corresponding to an intensity of light detected at each of the plurality of preselected positions; d) comparing the plurality of intensity signals; and e) identifying the first portion as diffuse if the plurality of intensity signals are substantially equal; and f) identifying the first portion as reflective if one of the plurality of intensity signals is larger than the others of the plurality of intensity signals by a predetermined amount.
 25. A system for imaging an object comprising: a light source positioned to illuminate at least a portion of the object; a plurality of photodetectors each generating a signal in response to detected light; and a plurality of light guides each having an input end positioned to receive light reflected from the object, and transmitting received light to the plurality of photodetectors wherein the input ends of the plurality of light guides are spaced substantially equally along at least a portion of a surface of an imaginary hemisphere surrounding the object.
 26. The system of claim 25 wherein the object is a semiconductor package.
 27. A system for imaging an object comprising: a light source positioned to illuminate at least a portion of the object; a plurality of photodetectors each generating a signal in response to detected light; and a plurality of light guides each having an input end positioned to receive light reflected from the object, and transmitting received light to the plurality of photodetectors wherein the input ends of the plurality of light guides are substantially uniformly angularly spaced with respect to the object.
 28. A system for imaging an object comprising: a light source positioned to transmit light along a first path for illuminating at least a portion of the object; a first photo sensitive device positioned to detect light reflected from the object at a first preselected position and generating a first signal representing information concerning the light detected; a photodetector array having a plurality of photodetectors positioned to detect light reflected from the object at a second preselected wherein said photodetector array generates a plurality of second signals representing information concerning the light detected; a summing amplifier, in communication with the photodetector array, that receives the plurality of second signals and generates a third signal as a function of the plurality of second signals; and a processor in communication with the first photo sensitive device and the summing amplifier that receives the first signal and generates a first image of the at least a portion of the object as a function of the first signal, and that receives the third signal and generates a second image of the at least a portion of the object as a function of the third signal.
 29. The system of claim 28 further comprising: a lenslet array having a plurality of lenses positioned to focus light reflected from the object onto the photodetector array wherein each lens of the plurality of lenses focuses light onto one of the photodetectors of the plurality of photodetectors.
 30. A system for imaging an object comprising: a light source positioned to transmit light along a first path for illuminating at least a portion of the object; a first photo sensitive device positioned to detect light reflected from the object at a first preselected position and generating a first signal representing information concerning the light detected; a photodetector array having a plurality of photodetectors positioned to detect light reflected from the object at a second preselected wherein said photodetector array generates a plurality of second signals representing information concerning the light detected; a photodetector, in communication with the photodetector array, that receives the plurality of second signals and generates a third signal as a function of the plurality of second signals; and a processor in communication with the first photo sensitive device and the summing amplifier that receives the first signal and generates a first image of the at least a portion of the object as a function of the first signal, and that receives the third signal and generates a second image of the at least a portion of the object as a function of the third signal.
 31. The system of claim 30 further comprising: a plurality of light guides positioned to transmit the plurality of second signals to the photodetector.
 32. A system for imaging a semiconductor package comprising: a light source positioned to transmit light along a first path for illuminating at least a portion of the semiconductor package; a first photo sensitive device positioned to detect light reflected from the semiconductor package at a first preselected position and generating a first signal representing information concerning the light detected; a photodetector array having a plurality of photodetectors positioned to detect light reflected from the semiconductor package at a second preselected wherein said photodetector array generates a plurality of second signals representing information concerning the light detected; a photodetector, in communication with the photodetector array, that receives the plurality of second signals and generates a third signal as a function of the plurality of second signals; and a processor in communication with the first photo sensitive device and the summing amplifier that receives the first signal and generates a first image of the at least a portion of the semiconductor package as a function of the first signal, and that receives the third signal and generates a second image of the at least a portion of the semiconductor package as a function of the third signal.
 33. The system of claim 32 further comprising: a plurality of light guides positioned to transmit the plurality of second signals to the photodetector. 